Vehicles, such as automobiles, light-duty trucks, and heavy-duty trucks, play an important role in the lives of many people. To keep vehicles operational, some of those people rely on vehicle technicians to diagnose and repair their vehicle.
Vehicle technicians use a variety of tools in order to diagnose and/or repair vehicles. Those tools may include common hand tools, such as wrenches, hammers, pliers, screwdrivers and socket sets, or more vehicle-specific tools, such as cylinder hones, piston ring compressors, and vehicle brake tools. The tools used by vehicle technicians may include electronic tools, such as one or more software applications used to analyze data and/or provide information to vehicle technicians. Typically, vehicle technicians are not trained in software engineering or maintenance.
Frequently, these software applications become important to the day-to-day performance of vehicle technicians. As such, inoperable software applications can be costly. Conventional responses to inoperable software applications include: doing nothing, sending a computing device to software repair personnel, providing on-site repair assistance, or restoring the computing device to an initial state (a.k.a. the “factory-new” state). These responses have the drawbacks of not maintaining system functionality (if doing nothing), incurring downtime to send the computing device, requiring software repair personnel to travel on-site, requiring reloading and reinstallation of already installed software degrade system performance at all times, and/or causing the saved-and-updated software to become unstable via operation of the restore utility.